Software is often deployed on one or more servers (e.g., in the cloud) for access by one or more client devices. The software and the deployment infrastructure handle varying workloads depending on software complexity and/or client demand, for example. Software developers often make choices on deployment infrastructure configurations without understanding how the deployment infrastructure will handle workloads to which it is subjected. This can result in unsatisfactory infrastructure and software slowdown and/or unavailability on one hand, or infrastructure overkill and waste in terms of allocation and/or cost on the other.